/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package pe.gob.pnp.actions;

import java.util.List;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
import pe.gob.pnp.beans.BeneficiosSolicitanteBean;
import pe.gob.pnp.beans.DependenciaDestinoBean;
import pe.gob.pnp.beans.IngresosBean;
import pe.gob.pnp.beans.SalidasBean;
import pe.gob.pnp.beans.TramiteBean;
import pe.gob.pnp.beans.UsuarioBean;
import pe.gob.pnp.model.GestionTipoBeneficio;
import pe.gob.pnp.model.GestionTramiteDocumentario;

/**
 *
 * @author gcarlos
 */
public class TramiteDocumentarioAction extends org.apache.struts.actions.DispatchAction {

    public ActionForward iniciarTramiteDocumentario(ActionMapping mapping, ActionForm form,
            HttpServletRequest request, HttpServletResponse response)
            throws Exception {
        String destino = "jsonResultadoInsertarTramite";
        GestionTramiteDocumentario gt = new GestionTramiteDocumentario();
        List<UsuarioBean> listaUsuario = (List<UsuarioBean>) request.getSession().getAttribute("listaUsuario");
        String asunto = request.getParameter("asunto");
        String fono = request.getParameter("fono");
        String htsige = request.getParameter("htsige");
        String tipodocumento = request.getParameter("tipodocumento");
        String nrofolios = request.getParameter("nrofolios");
        String nrodocumento = request.getParameter("nrodocumento");
        String nrodocumentocompleto = request.getParameter("nrodocumentocompleto");
        String sobreviviente = request.getParameter("sobreviviente");
        String administrado = request.getParameter("administrado");
        String tiposolicitante = request.getParameter("tiposolicitante");
        String dependenciaexterna = request.getParameter("dependenciaexterna");
        String prioridad = request.getParameter("prioridad");
        String beneficios = request.getParameter("beneficios");
        int esnuevo = 1;

        TramiteBean tb = new TramiteBean();
        tb.setCtramAsunto(asunto);
        tb.setCtramFono(fono);
        tb.setCtramHtsige(htsige);
        tb.setNtipoDocumento(Integer.parseInt(tipodocumento));
        tb.setNdocuNrofolios(Integer.parseInt(nrofolios));
        tb.setCdocuNrodocumento(nrodocumento);
        tb.setCdocuNrodocumentocompleto(nrodocumentocompleto);
        tb.setCtisoTiposolicitante(tiposolicitante);
        tb.setNpersAdministrado(Integer.parseInt(administrado));
        tb.setCtramPrioridad(prioridad);
        if (tiposolicitante.equals("C")) {
            tb.setNpersSobreviviente(Integer.parseInt(administrado));
        } else if (tiposolicitante.equals("S")) {
            tb.setNpersSobreviviente(Integer.parseInt(sobreviviente));
        } else if (tiposolicitante.equals("D")) {
            tb.setNdepeExterna(Integer.parseInt(dependenciaexterna));
        }
        tb.setNtramEsnuevo(esnuevo);
        tb.setCtramBeneficios(beneficios);
        tb.setNusuaCreador(listaUsuario.get(0).getNusua_identificador());
        tb.setNdepeActual(listaUsuario.get(0).getNdepe_identificador());
        int htinterna = gt.iniciarTramiteDocumentario(tb);
        request.setAttribute("htInterna", htinterna);
        return mapping.findForward(destino);
    }

    public ActionForward derivarTramiteDocumentario(ActionMapping mapping, ActionForm form,
            HttpServletRequest request, HttpServletResponse response)
            throws Exception {
        GestionTramiteDocumentario gt = new GestionTramiteDocumentario();
        List<UsuarioBean> listaUsuario = (List<UsuarioBean>) request.getSession().getAttribute("listaUsuario");
        String destino = request.getParameter("destino");
        String ingreso = request.getParameter("ingreso");
        String acciones = request.getParameter("acciones");
        request.setAttribute("validador", gt.agregarDerivo(listaUsuario.get(0).getNdepe_identificador(), Integer.parseInt(destino), listaUsuario.get(0).getNusua_identificador(), Integer.parseInt(ingreso), acciones));
        return mapping.findForward("jsonValidador");
    }

    public ActionForward eliminarDerivo(ActionMapping mapping, ActionForm form,
            HttpServletRequest request, HttpServletResponse response)
            throws Exception {
        GestionTramiteDocumentario gt = new GestionTramiteDocumentario();
        List<UsuarioBean> listaUsuario = (List<UsuarioBean>) request.getSession().getAttribute("listaUsuario");
        String salida = request.getParameter("salida");
        request.setAttribute("validador", gt.eliminarDerivo(Integer.parseInt(salida), listaUsuario.get(0).getNusua_identificador()));
        return mapping.findForward("jsonValidador");
    }

    public ActionForward obtenerDatosTramite(ActionMapping mapping, ActionForm form,
            HttpServletRequest request, HttpServletResponse response)
            throws Exception {
        String destino = "jsonResultadoConsultarTramite";
        GestionTramiteDocumentario gt = new GestionTramiteDocumentario();
        GestionTipoBeneficio gtb = new GestionTipoBeneficio();
        String ingreso = request.getParameter("ingreso");
        List<TramiteBean> lstTramites = gt.obtenerTramiteDocumentario(Integer.parseInt(ingreso));
        List<BeneficiosSolicitanteBean> lstBeneficios = gtb.obtenerBeneficiosTramite(Integer.parseInt(ingreso));
        request.setAttribute("lstTramite", lstTramites);
        request.setAttribute("lstBeneficios", lstBeneficios);
        return mapping.findForward(destino);
    }

    public ActionForward obtenerDerivosTramite(ActionMapping mapping, ActionForm form,
            HttpServletRequest request, HttpServletResponse response)
            throws Exception {
        String destino = "jsonResultadoDerivos";
        GestionTramiteDocumentario gt = new GestionTramiteDocumentario();
        String ingreso = request.getParameter("ingreso");
        List<DependenciaDestinoBean> lstDerivos = gt.obtenerDerivosTramite(Integer.parseInt(ingreso));
        request.setAttribute("lstDerivos", lstDerivos);
        return mapping.findForward(destino);
    }
    
    
    public ActionForward obtenerSalidasTramite(ActionMapping mapping, ActionForm form,
            HttpServletRequest request, HttpServletResponse response)
            throws Exception {
        String destino = "jsonResultadoSalidasTramite";
        GestionTramiteDocumentario gt = new GestionTramiteDocumentario();
        List<UsuarioBean> listaUsuario = (List<UsuarioBean>) request.getSession().getAttribute("listaUsuario");
        String fecha = request.getParameter("fecha");
        List<SalidasBean> lstSalidasTramite = gt.obtenerSalidasTramite(listaUsuario.get(0).getNdepe_identificador(),listaUsuario.get(0).getNusua_identificador(),fecha);
        request.setAttribute("lstSalidasTramite", lstSalidasTramite);
        return mapping.findForward(destino);
    }
    
    public ActionForward obtenerIngresosTramite(ActionMapping mapping, ActionForm form,
            HttpServletRequest request, HttpServletResponse response)
            throws Exception {
        String destino = "jsonResultadoIngresosTramite";
        GestionTramiteDocumentario gt = new GestionTramiteDocumentario();
        List<UsuarioBean> listaUsuario = (List<UsuarioBean>) request.getSession().getAttribute("listaUsuario");
        List<IngresosBean> lstIngresosTramite = gt.obtenerIngresosTramite(listaUsuario.get(0).getNdepe_identificador(),listaUsuario.get(0).getNusua_identificador());
        request.setAttribute("lstIngresosTramite", lstIngresosTramite);
        return mapping.findForward(destino);
    }
    
    
    public ActionForward buscarTramiteDocumentario(ActionMapping mapping, ActionForm form,
            HttpServletRequest request, HttpServletResponse response)
            throws Exception {
        String destino = "jsonResultadoIngresosTramite";
        GestionTramiteDocumentario gt = new GestionTramiteDocumentario();
        List<UsuarioBean> listaUsuario = (List<UsuarioBean>) request.getSession().getAttribute("listaUsuario");
        String htinterna = request.getParameter("htinterna");
        List<IngresosBean> lstIngresosTramite = gt.buscarTramiteDocumentario(listaUsuario.get(0).getNdepe_identificador(),htinterna);
        request.setAttribute("lstIngresosTramite", lstIngresosTramite);
        return mapping.findForward(destino);
    }
}
